﻿using System;
using System.Collections.Generic;

namespace ObjetosComunes.Entidades
{
    /// <summary> Clase que representa los datos de una inspeccion </summary>
    public class Inspeccion: Entidad
    {

        #region Atributos

        /// <summary> Datos del ajustador que realiza la inspeccion </summary>
        private Persona _ajustador;


        /// <summary> Fecha de la asignacion de la inspeccion al ajustador </summary>
        private DateTime _fechaAsignacion;


        /// <summary> Fecha que se realiza la inspeccion </summary>
        private DateTime _fechaInspeccion;


        /// <summary> Fecha que se realiza la entrega del informe preliminar </summary>
        private DateTime _fechaEntregaInformePreliminar;


        /// <summary> Fecha que se recibe el informe preliminar </summary>
        private DateTime _fechaRecibidoInformePreliminar;


        /// <summary> Fecha de entrega de informe final </summary>
        private DateTime _fechaEntregaInformeFinal;
        

        /// <summary> Fecha que se recibe el informe final </summary>
        private DateTime _fechaRecibidoInformeFinal;


        /// <summary> Lista de recaudos de una inspeccion </summary>
        private List<RecaudoInspeccion> _recaudos;


        /// <summary> Siniestro del que se necesita la inspeccion </summary>
        private Siniestro _siniestro;

        #endregion

        #region Propiedades

        /// <summary> Datos del ajustador que realiza la inspeccion </summary>
        public Persona Ajustador
        {
            get { return _ajustador; }
            set { _ajustador = value; }
        }


        /// <summary> Fecha de la asignacion de la inspeccion al ajustador </summary>
        public DateTime FechaAsignacion
        {
            get { return _fechaAsignacion; }
            set { _fechaAsignacion = value; }
        }


        /// <summary> Fecha que se realiza la inspeccion </summary>
        public DateTime FechaInspeccion
        {
            get { return _fechaInspeccion; }
            set { _fechaInspeccion = value; }
        }


        /// <summary> Fecha que se realiza la entrega del informe preliminar </summary>
        public DateTime FechaEntregaInformePreliminar
        {
            get { return _fechaEntregaInformePreliminar; }
            set { _fechaEntregaInformePreliminar = value; }
        }


        /// <summary> Fecha que se recibe el informe preliminar </summary>
        public DateTime FechaRecibidoInformePreliminar
        {
            get { return _fechaRecibidoInformePreliminar; }
            set { _fechaRecibidoInformePreliminar = value; }
        }


        /// <summary> Fecha de entrega de informe final </summary>
        public DateTime FechaEntregaInformeFinal
        {
            get { return _fechaEntregaInformeFinal; }
            set { _fechaEntregaInformeFinal = value; }
        }


        /// <summary> Fecha que se recibe el informe final </summary>
        public DateTime FechaRecibidoInformeFinal
        {
            get { return _fechaRecibidoInformeFinal; }
            set { _fechaRecibidoInformeFinal = value; }
        }


        /// <summary> Lista de recaudos de una inspeccion </summary>
        public List<RecaudoInspeccion> Recaudos
        {
            get { return _recaudos; }
            set { _recaudos = value; }
        }


        /// <summary> Siniestro del que se necesita la inspeccion </summary>
        public Siniestro Siniestro
        {
            get { return _siniestro; }
            set { _siniestro = value; }
        }

        #endregion
    }
}
